nominees[, `:=`(
clean_category = tolower(gsub('.{7}$', '', category)),
title = tolower(title),
producer = tolower(producer),
distributor = tolower(distributor)
)]
nom90 <- nominees %>% filter(year >= 1990)
shows <-
nom90 %>%
group_by(title, type) %>%
summarise(no = n()) %>%
spread (type, no)
`summarise()` has grouped output by 'title'. You can override using the `.groups` argument.
shows[is.na(shows)] <- 0
# Top 20 shows by:
# Winners
WStop20 <- shows[order(-shows$Winner),][1:20,]
viz_dbar <- function(df, xaxis1, xaxis2, yaxis, xname1, xname2){
fig <- plot_ly(x = xaxis1, y = yaxis, type = 'bar', orientation = 'h', name = xname1,
marker = list(color = 'rgba(153, 153, 153, 0.6)', line = list(color = 'rgba(153, 153, 153, 1.0)', width = 3)))
fig <- fig %>% add_trace(x = xaxis2, name = xname2,
marker = list(color = 'rgba(255, 153, 0, 0.6)', line = list(color = 'rgba(255, 153, 0, 1.0)',width = 3)))
fig <- fig %>% layout(
barmode = 'stack',
xaxis = list(title = ""),
yaxis = list(categoryarray = xaxis1, categoryorder = "array"))
fig
}
viz_dbar(WStop20,WStop20$Nominee, WStop20$Winner, WStop20$title, "Nominee", "Winner")
NA
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGRhdGEudGFibGUpDQpsaWJyYXJ5KHBsb3RseSkNCmBgYA0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQ0KDQp0dWVzZGF0YSA8LSB0aWR5dHVlc2RheVI6OnR0X2xvYWQoJzIwMjEtMDktMjEnKQ0KdHVlc2RhdGEgPC0gdGlkeXR1ZXNkYXlSOjp0dF9sb2FkKDIwMjEsIHdlZWsgPSAzOSkNCm5vbWluZWVzIDwtIGFzLmRhdGEudGFibGUodHVlc2RhdGEkbm9taW5lZXMpDQpgYGANCg0KYGBge3J9DQpub21pbmVlc1ssIGA6PWAoDQogIGNsZWFuX2NhdGVnb3J5ID0gdG9sb3dlcihnc3ViKCcuezd9JCcsICcnLCBjYXRlZ29yeSkpLA0KICB0aXRsZSA9IHRvbG93ZXIodGl0bGUpLA0KICBwcm9kdWNlciA9IHRvbG93ZXIocHJvZHVjZXIpLA0KICBkaXN0cmlidXRvciA9IHRvbG93ZXIoZGlzdHJpYnV0b3IpDQoNCildDQoNCg0Kbm9tOTAgPC0gbm9taW5lZXMgJT4lIGZpbHRlcih5ZWFyID49IDE5OTApDQpgYGANCg0KDQpgYGB7ciBCZXN0IHNob3c6IERvdWJsZSBiYXJjaGFydH0NCg0Kc2hvd3MgPC0gDQogIG5vbTkwICU+JSANCiAgZ3JvdXBfYnkodGl0bGUsIHR5cGUpICU+JSANCiAgc3VtbWFyaXNlKG5vID0gbigpKSAlPiUgDQogIHNwcmVhZCAodHlwZSwgbm8pDQoNCnNob3dzW2lzLm5hKHNob3dzKV0gPC0gMA0KDQojIFRvcCAyMCBzaG93cyBieToNCiMgV2lubmVycw0KV1N0b3AyMCA8LSAgc2hvd3Nbb3JkZXIoLXNob3dzJFdpbm5lciksXVsxOjIwLF0NCg0KDQoNCg0Kdml6X2RiYXIgPC0gZnVuY3Rpb24oZGYsIHhheGlzMSwgeGF4aXMyLCB5YXhpcywgeG5hbWUxLCB4bmFtZTIpew0KIGZpZyA8LSBwbG90X2x5KHggPSB4YXhpczEsIHkgPSB5YXhpcywgdHlwZSA9ICdiYXInLCBvcmllbnRhdGlvbiA9ICdoJywgbmFtZSA9IHhuYW1lMSwNCiAgICAgICAgbWFya2VyID0gbGlzdChjb2xvciA9ICdyZ2JhKDE1MywgMTUzLCAxNTMsIDAuNiknLCBsaW5lID0gbGlzdChjb2xvciA9ICdyZ2JhKDE1MywgMTUzLCAxNTMsIDEuMCknLCB3aWR0aCA9IDMpKSkNCiANCmZpZyA8LSBmaWcgJT4lIGFkZF90cmFjZSh4ID0geGF4aXMyLCBuYW1lID0geG5hbWUyLCANCiAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXIgPSBsaXN0KGNvbG9yID0gJ3JnYmEoMjU1LCAxNTMsIDAsIDAuNiknLCBsaW5lID0gbGlzdChjb2xvciA9ICdyZ2JhKDI1NSwgMTUzLCAwLCAxLjApJyx3aWR0aCA9IDMpKSkNCg0KZmlnIDwtIGZpZyAlPiUgbGF5b3V0KA0KICBiYXJtb2RlID0gJ3N0YWNrJywNCiAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIiIpLA0KICB5YXhpcyA9IGxpc3QoY2F0ZWdvcnlhcnJheSA9IHhheGlzMSwgY2F0ZWdvcnlvcmRlciA9ICJhcnJheSIpKQ0KDQpmaWcgDQp9DQoNCnZpel9kYmFyKFdTdG9wMjAsV1N0b3AyMCROb21pbmVlLCBXU3RvcDIwJFdpbm5lciwgV1N0b3AyMCR0aXRsZSwgIk5vbWluZWUiLCAiV2lubmVyIikNCg0KYGBgDQoNCmBgYHtyIEJlc3Qgc2hvdzogfQ0KDQoNCg0KYGBg